/**
 * 逻辑、功能相关描述:
 *
 * @author yandawei 编写日期：2008-12-29
 */
package com.ce.pms.occupation.model;

import java.math.BigDecimal;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.sitechasia.webx.core.model.IDomainObject;

/**
 * 实体名称:入伙预缴费项目 关联数据表:OM_OCCUPATION_CHARGE_ITEM
 *
 * @author yandawei
 * @CreateDate:2008-12-29
 */
@Entity
@Table(name = "OM_OCCUPATION_CHARGE_ITEM")
public class OccupationChargeItemDO implements IDomainObject {


	/**
	 * 主键
	 */
	@Id
	@GeneratedValue
	@Column(name = "CHARGE_ITEM_ID")
	private Long keyword;

	@Column(name = "OCCUPATION_CHARGE_ITEM_CONFIG_ID",nullable=false)
	private Long chargeItemConfigId;

	/**
	 * 房屋ID
	 */
	@Column(name = "HOUSE_ID", nullable = false)
	private Long houseId;

	/**
	 * 缴费
	 */
	@ManyToOne(cascade = {CascadeType.REFRESH}, fetch = FetchType.LAZY)
	@JoinColumn(name="OCCUPATION_CHARGE_ID",nullable = false)
	private OccupationChargeDO occupationCharge;


	/**
	 * 预缴款金额
	 */
	@Column(name = "PREPAY", precision = 18, scale = 2)
	private BigDecimal payItemMoney = new BigDecimal(0.00);



	/**
	 * 是否跟进标志 0 ：不跟进 1 ：跟进
	 */
	@Column(name = "TTACK_YN", nullable = false, length = 1)
	private String trackYn;

	/**
	 * 付款状态 001 未收 002 已收003 免收
	 */
	@Column(name = "PAY_STATUS", length = 3)
	private String payState;

	/**
	 * 是否已移交帐1 ： 已移交 0 ：未移交
	 */
	@Column(name = "TRANSFER_YN", nullable = false, length = 1)
	private String transferYn;

	public OccupationChargeItemDO() {
	}

	public BigDecimal getPayItemMoney() {
		return payItemMoney;
	}

	public void setPayItemMoney(BigDecimal payItemMoney) {
		this.payItemMoney = payItemMoney;
	}

	public String getPayState() {
		return payState;
	}

	public void setPayState(String payState) {
		this.payState = payState;
	}

	public String getTrackYn() {
		return trackYn;
	}

	public void setTrackYn(String trackYn) {
		this.trackYn = trackYn;
	}

	public String getTransferYn() {
		return transferYn;
	}

	public void setTransferYn(String transferYn) {
		this.transferYn = transferYn;
	}

	public Long getKeyword()
	{
		return keyword;
	}

	public Long getChargeItemConfigId()
	{
		return chargeItemConfigId;
	}

	public Long getHouseId()
	{
		return houseId;
	}


	public void setKeyword(Long keyword)
	{
		this.keyword = keyword;
	}

	public void setChargeItemConfigId(Long chargeItemConfigId)
	{
		this.chargeItemConfigId = chargeItemConfigId;
	}

	public void setHouseId(Long houseId)
	{
		this.houseId = houseId;
	}

	/**
	 * @return the occupationCharge
	 */
	public OccupationChargeDO getOccupationCharge() {
		return occupationCharge;
	}

	/**
	 * @param occupationCharge the occupationCharge to set
	 */
	public void setOccupationCharge(OccupationChargeDO occupationCharge) {
		this.occupationCharge = occupationCharge;
	}

}
